package cn.shop.merchant.model.gameconfig;

import cn.shop.merchant.model.BaseEntity;
import cn.shop.utils.enums.Status;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * @author : 李一涵
 * @date : Created in 2021-11-2 11:48
 * @description : 分区信息类
 */
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@TableName("merchant_game_partition")
public class GamePartition extends BaseEntity {

    @NotBlank(message = "游戏名不能为空")
    private Long gameId;
    /** 游戏模板编号 */
    private Long templateId;
    /** 分区名称 */
    @Size(max = 50, message = "游戏分区名称不能超过50个字")
    @NotBlank(message = "游戏分区名称不能为空")
    private String name;
    /** 状态（0-正常，1-禁用） */
    private Status status;
    /** 服务器ip */
    private String ip;
    /** 通讯端口 */
    private Integer port;
    /** 服务器路径 */
    private String serverFolder;
    /** 是否创建npc脚本 */
    private Boolean createScript;
    /** 顺序 */
    private Integer level;

    /** npc */
    @TableField(exist = false)
    private List<Npc> npcs;

    @TableField(exist = false)
    private String templateName;
    @TableField(exist = false)
    private String gameName;

}
